CMU 15-112 Summer 2019: Fundamentals of Programming and Computer Science
Homework 7 (Checkpoint Due Tue 4-Jun at 10pm, Final Submission Due Wed 5-Jun, at 11:59pm)
- This assignment is COLLABORATIVE.
- This means you may discuss anything about the assignment with other students, but all code you write must still be your own.
- You may help other students debug by looking at their code and discussing how to debug it and what the issue might be.
- Do not type on another student's computer.
- Do not send any code to other students, and do not copy any code from other students.
- Before you implement any parts of the game, erase any large chunks of code from a whiteboard/paper/shared files/etc.
- Write the Andrew IDs of anyone you collaborate with at the top of your file.
- You may have a maximum of 3-4 collaborators for the homework.
- If you have any questions about what collaboration is allowed, email me (Abhi - angogate@andrew.cmu.edu).
- To start:
- Create a folder named 'week3'
- Create hw7.py and edit the file using Pyzo
- You'll want to start with the barebones animation framework in the Animation Timer Fired Notes (1. Updated Starter File). You can find that here.
- When you are ready, submit hw7.py to Autolab. For this hw, you may submit as many times as you like, but only your last submission counts. For your checkpoint, submit your hw7.py to Autolab under hw7-checkpoint by Tues Jun 4 at 10pm. For the final submission, submit your hw7.py to Autolab under hw7-final by Wed Jun 5 at 11:59pm.
- This homework is not autograded. You will receive feedback after the deadline.
- Do not use recursion, sets, or dictionaries in this assignment.
- This homework may be graded for style.
- Tetris [100 pts]
Write Tetris according to the design given in this step-by-step tutorial.
You may not use a different design, even if you think there's a better way to do it (there probably is, but you still have to do it this way). This may seem limiting, but sometimes you have to write code according to a specific algorithm, rather than writing code to solve a specific problem.
To get full credit, you'll need to complete the basic implementation according to the design spec. If you'd like to add extra features for bonus (see last page on the tutorial), then make sure to write a comment at the top of your file stating which extra features you did.
As mentioned in my Piazza Post, there will be two deadlines for tetris, one for the checkpoint, and one for the final submission. The checkpoint will be due Tuesday June 4th at 10pm, and at this point, you should have steps 1-4 working, and made an effort on step 5. We will grade this checkpoint for effort, and it will be worth 10 points.
The final submission will be due Wednesday June 5th at 11:59pm, and that will consist of your implementation for the entire spec (steps 1-7). This will be worth 90 points of the total grade.
Have fun!!!